<template>
  <div class="wrapper">
    <v-head></v-head>
    <v-sidebar></v-sidebar>
    <topToolBar></topToolBar>
    <div class="content-box" :class="{ 'content-collapse': collapse }">
      <!-- 快捷按钮 -->
      <v-tags></v-tags>
      <div class="content" :class="isFull ? 'fixed' : ''">
        <transition name="move" mode="out-in">
          <keep-alive :include="tagsList">
            <router-view></router-view>
          </keep-alive>
        </transition>
        <el-backtop target=".content"></el-backtop>
      </div>
    </div>
  </div>
</template>

<script>
import vHead from './Header.vue';
import vSidebar from './Sidebar.vue';
import vTags from './Tags.vue';


import bus from './bus';
import eventBus from '@/eventBus.js';

export default {
  data () {
    return {
      tagsList: [],
      collapse: false,
      isFull: false,
    };
  },
  components: {
    vHead,
    vSidebar,
    vTags,
    
  },
  created () {
    if (!localStorage.getItem('UserID')) {
      this.$router.push({
        path: '/login'
      })
    }
    bus.$on('collapse-content', msg => {
      this.collapse = msg;
    });
    // 只有在标签页列表里的页面才使用keep-alive，即关闭标签之后就不保存到内存中了。
    bus.$on('tags', msg => {
      let arr = [];
      for (let i = 0, len = msg.length; i < len; i++) {
        msg[i].name && arr.push(msg[i].name);
      }
      this.tagsList = arr;
    });
    // 全屏
    eventBus.$on('contentToFullScreen', () => {
      this.isFull = true;
    })
    // 退出全屏
    eventBus.$on('contentToDefaultScreen', () => {
      this.isFull = false;
    })
  },
  methods: {



  },
};
</script>

<style scoped lang="less">
.content.fixed {
  position: fixed;
  top: -12px;
  left: -10px;
  right: -10px;
  height: calc(100% + 24px);
  z-index: 9999;
}
.el-row {
  margin: 5px;
}
.buttonI {
  color: #007acc;
  background: #070808;
  font-size: 15px;
  font-weight: bold;
  height: 30px;
  line-height: 28px;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  padding: 5px 10px 5px 10px;
  margin: 5px;
  border: 1px solid #007acc;
  border-radius: 6px;
}
// .buttonI2 {
//   color: #007acc;
//   font-weight: bold;
//   height: 45px;
//   line-height: 38px;
//   text-align: center;
//   // vertical-align: middle;
//   // cursor: pointer;
//   padding: 5px 10px 5px 10px;
//   margin: 0px;
//   border: 1px solid #007acc;
//   border-radius: 6px;
// }
</style>
